import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import UnoCSS from "unocss/vite";

// https://vite.dev/config/
export default defineConfig({
  plugins: [react(), UnoCSS()],
  build: {
    // 输出目录
    outDir: "dist",
    // 生成源码映射文件（生产环境可以设为false）
    sourcemap: false,
    // 启用/禁用 gzip 压缩大小报告
    reportCompressedSize: true,
    // chunk 大小警告的限制（以 kbs 为单位）
    chunkSizeWarningLimit: 1000,
    rollupOptions: {
      output: {
        // 分包策略
        manualChunks: {
          // 将 React 相关库打包到一个 chunk
          "react-vendor": ["react", "react-dom", "react-router-dom"],
          // 将 Ant Design 打包到一个 chunk
          "antd-vendor": ["antd", "@ant-design/icons"],
          // 将其他第三方库打包到一个 chunk
          vendor: ["react-grid-layout"],
        },
      },
    },
  },
  // 生产环境优化
  esbuild: {
    // 移除 console 和 debugger（可选）
    drop: ["console", "debugger"],
  },
});
